{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 1. Introduction\n",
    "## 1.1 Background\n",
    "\n",
    "在我国电子商务飞快发展的背景下，基本上所有的电子商务网站都支持消费者对产品的相关内容（商品、服务、卖家）等进行打分和发表评论。客户可以通过网络进行沟通和交流，在网络平台上发布大量的留言和评论，这已经成为互联网的一种流行形式，而这种形势必然给互联网带来海量的信息。\n",
    "\n",
    "对于**卖家**来说，可以从评论信息中获取客户的实际需求，以改善产品品质，提高自身的竞争力。对于**客户**来说，可以借鉴别人的购买历史以及评论信息，更好的辅助自己制定购买决策。此外，对于一些未知体验产品，客户可以通过网络来获取产品信息，特别是对一些未知的体验产品，客户为了降低自身的风险更加倾向于得到其他客户的意见和看法，这些评论对潜在的买家而言无疑是一笔财富，并以此作为决策的重要依据。 因此，通过利用数据挖掘技术针对客户的大量评论进行分析，可以挖掘出这些信息的特征，而得到的这些信息有利于生产商改进自身产品和改善相关的服务，提高商家的核心竞争力。本项目所选择的Multi-Domain Sentiment Dataset 数据库包含从 Amazon.com 获取的来自许多产品类型（域）的产品评论，希望通过借助该数据库实现NLP语言处理技术在对商品评论进行情感分析，了解文本情感分类的基本用法。\n",
    "\n",
    "# 2. Datasets\n",
    "## 2.1 数据集的准备与介绍"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "1. Unzip"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "processed_acl/\n",
      "processed_acl/dvd/\n",
      "processed_acl/dvd/negative.review\n",
      "processed_acl/dvd/unlabeled.review\n",
      "processed_acl/dvd/positive.review\n",
      "processed_acl/books/\n",
      "processed_acl/books/negative.review\n",
      "processed_acl/books/unlabeled.review\n",
      "processed_acl/books/positive.review\n",
      "processed_acl/kitchen/\n",
      "processed_acl/kitchen/negative.review\n",
      "processed_acl/kitchen/unlabeled.review\n",
      "processed_acl/kitchen/positive.review\n",
      "processed_acl/electronics/\n",
      "processed_acl/electronics/negative.review\n",
      "processed_acl/electronics/unlabeled.review\n",
      "processed_acl/electronics/positive.review\n"
     ]
    }
   ],
   "source": [
    "# !tar zxvf data/data103817/processed_acl.tar.gz -C Multi-Domain"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "2. 查看数据集的目录结构"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "Multi-Domain Sentiment Dataset 包含从 Amazon.com 获取的来自许多产品类型（域）的产品评论。某些域（书籍和 DVD）有数十万条评论。其他（乐器）只有几百。评论包含星级评分（1 到 5 星），如果需要，可以将其转换为二进制标签。此页面包含有关数据的一些说明。\n",
    "\n",
    "关于数据集的一些注意事项:\n",
    "1. unprocessed 文件夹包含原始数据。\n",
    "2. processed.acl 文件夹包含预处理和平衡的数据。也就是说，Blitzer 等人的格式。(ACL 2007)\n",
    "3. processed.realvalued 包含了经过预处理和平衡的数据，但是有星数，而不仅仅是正数或负数。也就是说，Mansour 等人的格式。(NIPS 2009)\n",
    "\n",
    "    预处理数据为每个文档一行，每行格式如下：\n",
    "    \n",
    "    feature:<count> .... feature:<count> #label#:<label>\n",
    "  \n",
    "    标签总是在每个文件的末尾线。\n",
    "4. 每个目录对应一个域。每个目录包含几个文件，我们简要介绍一下：\n",
    "    - all.review -- 该域的所有评论，以其原始格式\n",
    "    - positive.review -- 正面评论\n",
    "    - negative.review -- 负面评论\n",
    "    - unlabeled.review -- 未标记的评论\n",
    "    - processed.review -- 预处理评论（见下文）\n",
    "    - processing.review.balanced -- 预处理评论，在正面和负面之间均衡。\n",
    "\n",
    "5. 虽然正面和负面文件包含正面和负面评论，但这些不一定是任何引用论文中使用的分割。他们只是在那里尽可能地进行初始分裂。\n",
    "6. 每个（未处理的）文件都包含一个用于对评论进行编码的伪 XML 方案。大多数字段都是不言自明的。评论有一个不是很独特的唯一 ID 字段。如果它有两个唯一的 id 字段，则忽略仅包含一个数字的那个。总有一些我们可能忽略的小细节。如果您在阅读论文和本页后有任何疑问，请告诉 Mark Dredze 或 John Blitzer。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Multi-Domain\r\n",
      "├── processed_acl\r\n",
      "│   ├── books\r\n",
      "│   │   ├── negative.review\r\n",
      "│   │   ├── positive.review\r\n",
      "│   │   └── unlabeled.review\r\n",
      "│   ├── dvd\r\n",
      "│   │   ├── negative.review\r\n",
      "│   │   ├── positive.review\r\n",
      "│   │   └── unlabeled.review\r\n",
      "│   ├── electronics\r\n",
      "│   │   ├── negative.review\r\n",
      "│   │   ├── positive.review\r\n",
      "│   │   └── unlabeled.review\r\n",
      "│   └── kitchen\r\n",
      "│       ├── negative.review\r\n",
      "│       ├── positive.review\r\n",
      "│       └── unlabeled.review\r\n",
      "├── processed_stars\r\n",
      "│   ├── books\r\n",
      "│   │   ├── all_balanced.review\r\n",
      "│   │   ├── test\r\n",
      "│   │   └── train\r\n",
      "│   ├── dvd\r\n",
      "│   │   ├── all_balanced.review\r\n",
      "│   │   ├── test\r\n",
      "│   │   └── train\r\n",
      "│   ├── electronics\r\n",
      "│   │   ├── all_balanced.review\r\n",
      "│   │   ├── test\r\n",
      "│   │   └── train\r\n",
      "│   └── kitchen\r\n",
      "│       ├── all_balanced.review\r\n",
      "│       ├── test\r\n",
      "│       └── train\r\n",
      "└── sorted_data\r\n",
      "    ├── apparel\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── automotive\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── baby\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── beauty\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── books\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── camera_&_photo\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── cell_phones_&_service\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── computer_&_video_games\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── dvd\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── electronics\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── gourmet_food\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── grocery\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── health_&_personal_care\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── jewelry_&_watches\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── kitchen_&_housewares\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── magazines\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── music\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   ├── processed.review.random\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── musical_instruments\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── office_products\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── outdoor_living\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── software\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── sports_&_outdoors\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── stopwords\r\n",
      "    ├── summary.txt\r\n",
      "    ├── tools_&_hardware\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    ├── toys_&_games\r\n",
      "    │   ├── all.review\r\n",
      "    │   ├── negative.review\r\n",
      "    │   ├── positive.review\r\n",
      "    │   ├── processed.review\r\n",
      "    │   ├── processed.review.balanced\r\n",
      "    │   └── unlabeled.review\r\n",
      "    └── video\r\n",
      "        ├── all.review\r\n",
      "        ├── negative.review\r\n",
      "        ├── positive.review\r\n",
      "        ├── processed.review\r\n",
      "        ├── processed.review.balanced\r\n",
      "        └── unlabeled.review\r\n",
      "\r\n",
      "36 directories, 177 files\r\n"
     ]
    }
   ],
   "source": [
    "!tree Multi-Domain "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "考虑到数据集数据量较大，此处我们进选择其中的一小部分：`processed_stars/electronics` 文件夹中的数据作为本项目的数据进行分析。\n",
    "\n",
    "## 2.2 文本数据的统计分析\n",
    "### 2.2.1 读取数据\n",
    "\n",
    "- 定义路径和读取函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "data_path = 'Multi-Domain/sorted_data/books/'\r\n",
    "all_path = data_path + 'all.review'\r\n",
    "positive_path = data_path + 'positive.review'\r\n",
    "negative_path = data_path + 'negative.review'\r\n",
    "unbalance_path = data_path + 'unbalanced.review'\r\n",
    "test_path = data_path + 'processed.review.balanced'\r\n",
    "processed_path = data_path + 'processed.review'\r\n",
    "\r\n",
    "\r\n",
    "def read_dataset(dataset_path):\r\n",
    "    # ========== 可以通过下述代码查看 txt 文件的编码\r\n",
    "    # import chardet\r\n",
    "    # f = open(positive_path,'rb')\r\n",
    "    # data = f.read()\r\n",
    "    # print(chardet.detect(data))\r\n",
    "    # =============================================\r\n",
    "\r\n",
    "    with open(dataset_path, encoding = 'ISO-8859-1') as f:\r\n",
    "        train = f.readlines()\r\n",
    "    \r\n",
    "    # 进行简单的筛选，将小于 15 个单词的句子进行剔除\r\n",
    "    train = [i for i in train if not i.startswith('<')]\r\n",
    "    train = [i for i in train if len(i.split(' ')) >= 15]\r\n",
    "\r\n",
    "    return train"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 加载数据 \n",
    "\n",
    "    通过初步查看，发现数据集中有许多无效的评论，因此此处进行了简单筛选，剔除小于 `15` 个单词的评论，为了便利，此项目进队 `positve` 和 `negative` 进行识别和分析。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The length of Positive dataset:  2224\n",
      "The length of Negative dataset:  2428\n"
     ]
    }
   ],
   "source": [
    "positive_dataset = read_dataset(positive_path)\n",
    "negative_dataset = read_dataset(negative_path)\n",
    "\n",
    "print('The length of Positive dataset: ', len(positive_dataset))\n",
    "print('The length of Negative dataset: ', len(negative_dataset))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "可以发现，得到了 `2224` 条积极评论，`2428` 条负向评论。\n",
    "\n",
    "### 2.2.2 文本处理方法\n",
    "\n",
    "由于本项目所选数据为英语，因此选用 `NLTK` 库来处理我们的英语文本数据，而在借助 `NLTK` 处理句子时，需要加载其自定义的 `tokenizer`，由于无法直接下载，此处我们选择将 `punkt.zip` 上传至 `/home/aistudio/nltk_data/tokenizers/` 文件路径，以保证 `NLTK` 可以正常处理数据。该压缩包可以通过网上查找得到。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import nltk\r\n",
    "import string\r\n",
    "import numpy as numpy\r\n",
    "from collections import Counter\r\n",
    "from nltk.tokenize import sent_tokenize"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 将文本切分为语句"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[\"Bridget Jones, modern day woman, brillant and doesn't know it, prone to accidents and mess ups but manages to come out of them.\"]"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test_text = train_dataset[0] \r\n",
    "\r\n",
    "from nltk.tokenize import sent_tokenize\r\n",
    "sent_tokenize(test_text)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 词干统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Counter({'bridget': 1,\n",
       "         'jone': 1,\n",
       "         'modern': 1,\n",
       "         'day': 1,\n",
       "         'woman': 1,\n",
       "         'brillant': 1,\n",
       "         'and': 2,\n",
       "         'doesnt': 1,\n",
       "         'know': 1,\n",
       "         'it': 1,\n",
       "         'prone': 1,\n",
       "         'to': 2,\n",
       "         'accid': 1,\n",
       "         'mess': 1,\n",
       "         'up': 1,\n",
       "         'but': 1,\n",
       "         'manag': 1,\n",
       "         'come': 1,\n",
       "         'out': 1,\n",
       "         'of': 1,\n",
       "         'them': 1})"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def stem_count(text):\n",
    "    text = text.lower()\n",
    "    punctuation_map = dict((ord(char), None) for char in string.punctuation)\n",
    "    remove_punct = text.translate(punctuation_map)\n",
    "    #tokens = nltk.word_tokenize(remove_punct)\n",
    "    tokens = remove_punct.split()\n",
    "    #print(tokens)\n",
    "    #remove_stopwords = [w for w in tokens if not w in stopwords.words('english')]\n",
    "    #print(remove_stopwords)\n",
    "    s = nltk.stem.SnowballStemmer('english')\n",
    "    clean_text = [s.stem(ws) for ws in tokens]\n",
    "    count = Counter(clean_text)\n",
    "    return count\n",
    "\n",
    "stem_count(test_text)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "\n",
    "- 分词"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Bridget',\n",
       " 'Jones',\n",
       " ',',\n",
       " 'modern',\n",
       " 'day',\n",
       " 'woman',\n",
       " ',',\n",
       " 'brillant',\n",
       " 'and',\n",
       " 'does',\n",
       " \"n't\",\n",
       " 'know',\n",
       " 'it',\n",
       " ',',\n",
       " 'prone',\n",
       " 'to',\n",
       " 'accidents',\n",
       " 'and',\n",
       " 'mess',\n",
       " 'ups',\n",
       " 'but',\n",
       " 'manages',\n",
       " 'to',\n",
       " 'come',\n",
       " 'out',\n",
       " 'of',\n",
       " 'them',\n",
       " '.']"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nltk.word_tokenize(test_text)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 词频统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('the', 7257),\n",
       " ('and', 4677),\n",
       " ('of', 4653),\n",
       " ('to', 3994),\n",
       " ('a', 3706),\n",
       " ('is', 2645),\n",
       " ('in', 2402),\n",
       " ('I', 2262),\n",
       " ('book', 1872),\n",
       " ('that', 1649),\n",
       " ('this', 1530),\n",
       " ('it', 1474),\n",
       " ('for', 1351),\n",
       " (\"'s\", 1288),\n",
       " ('with', 1093),\n",
       " ('The', 1084),\n",
       " ('as', 1037),\n",
       " ('you', 928),\n",
       " ('was', 878),\n",
       " ('on', 829),\n",
       " ('are', 819),\n",
       " ('not', 762),\n",
       " ('have', 703),\n",
       " ('``', 702),\n",
       " (\"''\", 698),\n",
       " ('be', 663),\n",
       " ('his', 656),\n",
       " ('but', 631),\n",
       " ('This', 575),\n",
       " ('an', 567),\n",
       " ('read', 565),\n",
       " ('from', 561),\n",
       " ('by', 549),\n",
       " ('about', 518),\n",
       " ('one', 510),\n",
       " ('he', 504),\n",
       " ('who', 483),\n",
       " ('all', 478),\n",
       " (\"n't\", 477),\n",
       " ('my', 473),\n",
       " ('has', 470),\n",
       " ('or', 464),\n",
       " ('at', 461),\n",
       " ('It', 457),\n",
       " ('more', 423),\n",
       " ('what', 355),\n",
       " ('so', 354),\n",
       " ('her', 354),\n",
       " ('very', 347),\n",
       " ('can', 346)]"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import string \r\n",
    "\r\n",
    "test_words = ' '.join(positive_dataset)\r\n",
    "words = nltk.word_tokenize(test_words)\r\n",
    "\r\n",
    "from nltk.corpus import stopwords\r\n",
    "\r\n",
    "stop_words = set(stopwords.words('english'))\r\n",
    "words = [i for i in words if i not in string.punctuation]\r\n",
    "\r\n",
    "word_counters = Counter(words)\r\n",
    "word_counters.most_common(50)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 去除停用词"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[nltk_data] Downloading package stopwords to\n",
      "[nltk_data]     /home/aistudio/nltk_data...\n",
      "[nltk_data]   Unzipping corpora/stopwords.zip.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 下载停用词\r\n",
    "nltk.download('stopwords')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('I', 2262),\n",
       " ('book', 1872),\n",
       " (\"'s\", 1288),\n",
       " ('The', 1084),\n",
       " ('``', 702),\n",
       " (\"''\", 698),\n",
       " ('This', 575),\n",
       " ('read', 565),\n",
       " ('one', 510),\n",
       " (\"n't\", 477),\n",
       " ('It', 457),\n",
       " ('would', 310),\n",
       " ('like', 305),\n",
       " ('also', 276),\n",
       " ('story', 273),\n",
       " ('life', 267),\n",
       " ('great', 259),\n",
       " ('Books', 253),\n",
       " ('well', 253),\n",
       " ('quot', 250),\n",
       " ('good', 245),\n",
       " ('books', 240),\n",
       " ('time', 239),\n",
       " ('many', 238),\n",
       " ('people', 226),\n",
       " ('much', 224),\n",
       " ('In', 219),\n",
       " ('first', 213),\n",
       " ('A', 210),\n",
       " ('work', 188),\n",
       " ('reading', 188),\n",
       " ('really', 187),\n",
       " ('get', 185),\n",
       " ('If', 179),\n",
       " ('even', 179),\n",
       " ('way', 177),\n",
       " ('could', 176),\n",
       " ('--', 174),\n",
       " ('new', 166),\n",
       " ('years', 160),\n",
       " ('find', 158),\n",
       " ('best', 155),\n",
       " ('He', 150),\n",
       " ('make', 144),\n",
       " ('know', 143),\n",
       " ('written', 143),\n",
       " ('love', 140),\n",
       " ('think', 133),\n",
       " ('But', 133),\n",
       " ('world', 127)]"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from nltk.corpus import stopwords\r\n",
    "\r\n",
    "test_words = ' '.join(positive_dataset)\r\n",
    "words = nltk.word_tokenize(test_words)\r\n",
    "\r\n",
    "stop_words = set(stopwords.words('english'))\r\n",
    "words = [i for i in words if (i not in stop_words) and (i not in string.punctuation)]\r\n",
    "\r\n",
    "word_counters = Counter(words)\r\n",
    "word_counters.most_common(50)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 词云可视化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple\n",
      "Collecting wordcloud\n",
      "  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/1b/06/0516bdba2ebdc0d5bd476aa66f94666dd0ad6b9abda723fdf28e451db919/wordcloud-1.8.1-cp37-cp37m-manylinux1_x86_64.whl (366 kB)\n",
      "     |████████████████████████████████| 366 kB 4.8 MB/s            \n",
      "\u001b[?25hRequirement already satisfied: numpy>=1.6.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from wordcloud) (1.19.5)\n",
      "Requirement already satisfied: matplotlib in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from wordcloud) (2.2.3)\n",
      "Requirement already satisfied: pillow in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from wordcloud) (8.2.0)\n",
      "Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (0.10.0)\n",
      "Requirement already satisfied: pytz in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (2019.3)\n",
      "Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (1.1.0)\n",
      "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (2.8.2)\n",
      "Requirement already satisfied: six>=1.10 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (1.16.0)\n",
      "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from matplotlib->wordcloud) (3.0.7)\n",
      "Requirement already satisfied: setuptools in /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages (from kiwisolver>=1.0.1->matplotlib->wordcloud) (41.4.0)\n",
      "Installing collected packages: wordcloud\n",
      "Successfully installed wordcloud-1.8.1\n",
      "\u001b[33mWARNING: You are using pip version 21.3.1; however, version 22.0.3 is available.\n",
      "You should consider upgrading via the '/opt/conda/envs/python35-paddle120-env/bin/python -m pip install --upgrade pip' command.\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "!pip install wordcloud"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from wordcloud import WordCloud \r\n",
    "\r\n",
    "results = {}\r\n",
    "\r\n",
    "test_words = ' '.join(positive_dataset)\r\n",
    "\r\n",
    "wordcloud = WordCloud(collocations = False, \r\n",
    "    background_color = 'white',\r\n",
    "    width = 2800,\r\n",
    "    height = 1600\r\n",
    "    ).generate(test_words)\r\n",
    "\r\n",
    "plt.figure()\r\n",
    "plt.imshow(wordcloud, interpolation='bilinear')\r\n",
    "plt.axis('off')\r\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "### 2.3 数据集类的定义\n",
    "\n",
    "- 数据合并\n",
    "\n",
    "    首先将 `positive` 和 `negative` 的样本打散，生成新的样本集。\n",
    "    \n",
    "    - `positive`: 1\n",
    "    - `negative`: 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import os \r\n",
    "import pandas as pd \r\n",
    "\r\n",
    "export_path = 'Senti_dataset/'\r\n",
    "all_data_path = export_path + 'all.csv'\r\n",
    "# 把生成的数据列表都放在自己的总类别文件夹中\r\n",
    "\r\n",
    "if os.path.exists(all_data_path):\r\n",
    "    all_pd = pd.read_csv(all_data_path, encoding = 'utf-8', index_col = 0)\r\n",
    "else:\r\n",
    "    pos_pd = pd.DataFrame(positive_dataset, columns = ['Sentences'])\r\n",
    "    pos_pd['Label'] = 1 # Positive\r\n",
    "\r\n",
    "    neg_pd = pd.DataFrame(negative_dataset, columns = ['Sentences'])\r\n",
    "    neg_pd['Label'] = 0\r\n",
    "\r\n",
    "    all_pd = pd.concat([pos_pd, neg_pd], axis = 0)\r\n",
    "    all_pd = all_pd.sample(frac=1).reset_index(drop=True) # 打散数据\r\n",
    "    all_pd.to_csv(data_path, encoding = 'utf-8')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 构建数据字典"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def create_dic(df, dict_path):\r\n",
    "    with open(dict_path, 'w') as f:\r\n",
    "        f.seek(0)\r\n",
    "        f.truncate()\r\n",
    "\r\n",
    "    dict_set = set()\r\n",
    "    \r\n",
    "    contents = ' '.join(df['Sentences'].to_list())\r\n",
    "\r\n",
    "    tokens = nltk.word_tokenize(contents)\r\n",
    "    s = nltk.stem.SnowballStemmer('english')\r\n",
    "    clean_text = [s.stem(ws) for ws in tokens]\r\n",
    "\r\n",
    "    for s in clean_text:\r\n",
    "        dict_set.add(s)\r\n",
    "\r\n",
    "    dict_list = []\r\n",
    "    i = 0\r\n",
    "    for s in dict_set:\r\n",
    "        dict_list.append([s, i])\r\n",
    "        i += 1\r\n",
    "    \r\n",
    "    dict_txt = dict(dict_list)\r\n",
    "    end_dict = {'<unk>': i, '<pad>': i+1}\r\n",
    "    dict_txt.update(end_dict)\r\n",
    "\r\n",
    "    with open(dict_path, 'w', encoding='utf-8') as f:\r\n",
    "        f.write(str(dict_txt))\r\n",
    "    \r\n",
    "    print('The word dictionary has been created successfully!')\r\n",
    "\r\n",
    "# dict_path = export_path + 'word2idx.txt'\r\n",
    "# create_dic(all_pd, dict_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 加载单词表"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import os\r\n",
    "\r\n",
    "def load_vocab(dict_path):\r\n",
    "    if os.path.exists(dict_path) == False:\r\n",
    "        create_dic(all_pd, dict_path)\r\n",
    "\r\n",
    "    with open(dict_path, 'r', encoding = 'utf-8') as fr:\r\n",
    "        vocab = eval(fr.read())\r\n",
    "    \r\n",
    "    return vocab\r\n",
    "\r\n",
    "# vocab = load_vocab(dict_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 创建序列化的数据，并按照一定比例划分训练数据集与验证数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def f_write_txt(sentences, word2idx, label):\r\n",
    "    labs = \"\"\r\n",
    "    ste = nltk.stem.SnowballStemmer('english')\r\n",
    "    sentences = sentences.split(' ')\r\n",
    "    for s in sentences:\r\n",
    "        word = ste.stem(s)\r\n",
    "        lab = str(word2idx.get(word, word2idx['<unk>']))\r\n",
    "        # if word in word2idx.keys():\r\n",
    "        #     lab = str(word2idx[word])\r\n",
    "        # else:\r\n",
    "        #     lab = str(word2idx['<unk>'])\r\n",
    "        labs = labs + lab + ','\r\n",
    "    labs = labs[:-1]\r\n",
    "    labs = labs + '\\t' + label + '\\n'\r\n",
    "\r\n",
    "    return labs \r\n",
    "\r\n",
    "def create_data_list(df, train_path, test_path, dict_path):\r\n",
    "    dict_txt = load_vocab(dict_path)\r\n",
    "\r\n",
    "    i = 0\r\n",
    "    maxlen = 0\r\n",
    "    with open(test_path, 'a', encoding='utf-8') as f_eval,open(train_path, 'a', encoding='utf-8') as f_train:\r\n",
    "        for i, sentence in enumerate(df['Sentences'].values):\r\n",
    "            label = str(df.loc[i, 'Label'])\r\n",
    "            maxlen = max(maxlen, len(sentence.split(' ')))\r\n",
    "            labs = f_write_txt(sentence, dict_txt, label)\r\n",
    "            # 每8个 抽取一个数据用于验证\r\n",
    "            if i % 8 == 0:\r\n",
    "                f_eval.write(labs)\r\n",
    "            else:\r\n",
    "                f_train.write(labs)\r\n",
    "    print(\"数据列表生成完成！\")\r\n",
    "    print(maxlen)\r\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据列表生成完成！\n",
      "877\n"
     ]
    }
   ],
   "source": [
    "\r\n",
    "# 把生成的数据列表都放在自己的总类别文件夹中\r\n",
    "train_path = export_path + 'train_list.txt'\r\n",
    "test_path = export_path + 'eval_list.txt'\r\n",
    "dict_path = export_path + 'word2idx.txt'\r\n",
    "\r\n",
    "#在生成数据之前，首先将eval_list.txt和train_list.txt清空\r\n",
    "with open(test_path, 'w', encoding='utf-8') as f_eval:\r\n",
    "    f_eval.seek(0)\r\n",
    "    f_eval.truncate()\r\n",
    "with open(train_path, 'w', encoding='utf-8') as f_train:\r\n",
    "    f_train.seek(0)\r\n",
    "    f_train.truncate() \r\n",
    "\r\n",
    "create_data_list(all_pd, train_path, test_path, dict_path)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 打印前两条信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1:\n",
      "sentence list id is: ['15218', '3300', '1146', '3692', '11365', '8848', '15857', '554', '1040', '17305', '17228', '15857', '1146', '14705', '16177', '17305']\n",
      "sentence list is:  this is a hastili compil collect of lectur note <unk> summari of a ph.d. student <unk>\n",
      "sentence label id is: 0\n",
      "---------------------------------\n",
      "2:\n",
      "sentence list id is: ['1531', '7867', '8016', '17305', '12755', '2271', '1698', '5271', '1531', '8112', '16252', '17305', '17305', '17305', '966', '17305']\n",
      "sentence list is:  the global women <unk> issu and strategi for the new centuri <unk> <unk> <unk> peggi <unk>\n",
      "sentence label id is: 1\n",
      "---------------------------------\n"
     ]
    }
   ],
   "source": [
    "word2id = load_vocab(dict_path)\r\n",
    "\r\n",
    "def ids_to_str(ids):\r\n",
    "    words = []\r\n",
    "    for k in ids:\r\n",
    "        w = list(vocab.keys())[list(vocab.values()).index(int(k))]\r\n",
    "        words.append(w if isinstance(w, str) else w.decode('ASCII'))\r\n",
    "    return \" \".join(words)\r\n",
    "\r\n",
    "with open (test_path, 'r', encoding = 'utf-8') as f:\r\n",
    "    i = 0\r\n",
    "    lines = f.readlines()\r\n",
    "    for line in lines:\r\n",
    "        i += 1\r\n",
    "        cols = line.strip().split(\"\\t\")\r\n",
    "        if len(cols) != 2:\r\n",
    "            sys.stderr.write(\"[NOTICE] Error Format Line!\")\r\n",
    "            continue\r\n",
    "        \r\n",
    "        label = int(cols[1])\r\n",
    "        sentence = cols[0].split(',')\r\n",
    "        print(str(i) + \":\")\r\n",
    "        print('sentence list id is:', sentence)\r\n",
    "        print('sentence list is: ', ids_to_str(sentence))\r\n",
    "        print('sentence label id is:', label)\r\n",
    "        print('---------------------------------')\r\n",
    "            \r\n",
    "        if i == 2: break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 定义数据集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import paddle \r\n",
    "import numpy as np\r\n",
    "\r\n",
    "from paddle.io import Dataset, DataLoader\r\n",
    "from paddlenlp.datasets import MapDataset \r\n",
    "\r\n",
    "class MyDataset(Dataset):\r\n",
    "    def __init__(self, dataset_path, vocab):\r\n",
    "        self.dataset_path = dataset_path \r\n",
    "        self.vocab = vocab\r\n",
    "        self.all_data = []\r\n",
    "\r\n",
    "        with open (dataset_path, 'r', encoding = 'utf-8') as f:\r\n",
    "            i = 0\r\n",
    "            lines = f.readlines()\r\n",
    "            for line in lines:\r\n",
    "                i += 1\r\n",
    "                cols = line.strip().split(\"\\t\")\r\n",
    "                if len(cols) != 2:\r\n",
    "                    sys.stderr.write(\"[NOTICE] Error Format Line!\")\r\n",
    "                    continue\r\n",
    "                \r\n",
    "                label = int(cols[1])\r\n",
    "                sentence = cols[0].split(',')\r\n",
    "\r\n",
    "                if len(sentence) >= 150:\r\n",
    "                    sentence = np.array(sentence[:150]).astype('int64')   \r\n",
    "                else:\r\n",
    "                    sentence = np.concatenate([sentence, [vocab[\"<pad>\"]]*(150-len(sentence))]).astype('int64')\r\n",
    "                label = np.array(label)\r\n",
    "                labels = np.array([0, 0]).astype('int64')\r\n",
    "                labels[label] = 1\r\n",
    "                self.all_data.append((sentence, labels))\r\n",
    "\r\n",
    "    def __getitem__(self, idx):\r\n",
    "        data, labels = self.all_data[idx]\r\n",
    "        return data, labels\r\n",
    "\r\n",
    "    def __len__(self):\r\n",
    "        return len(self.all_data)\r\n",
    "\r\n",
    "vocab = load_vocab(dict_path)\r\n",
    "batch_size = 32\r\n",
    "train_dataset = MyDataset(train_path, vocab)\r\n",
    "test_dataset = MyDataset(test_path, vocab)\r\n",
    "\r\n",
    "train_loader = DataLoader(train_dataset, places=paddle.CPUPlace(), return_list=True,\r\n",
    "                                    shuffle=True, batch_size=batch_size, drop_last=True)\r\n",
    "test_loader = DataLoader(test_dataset, places=paddle.CPUPlace(), return_list=True,\r\n",
    "                                    shuffle=True, batch_size=batch_size, drop_last=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 2.4 数据集的测试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=============train_dataset =============\n",
      "Sentence list:  [14526 14200 15218  2216  5271  1531  8453 17305 14526 11612  1531  5163\n",
      "  7502  1531  6595  6058  8805 12213  7056  6708  9341    41 17204 14200\n",
      " 16770  1505 13905  8156  4789 15857  1531  3659 15857  1531 17305  1531\n",
      "  8166  5502 15435  1330 17305  1977 14043  1531 15115 17305 17305  8875\n",
      " 17204  1146 15705  4789 15857  1531  1927 16190 14043  5706 17305  2271\n",
      "   323 15534  5271  7717  3880 14043  6416 17305  3300  1531 14332 11875\n",
      " 11029  5271  1531  7554  3592  8294 10899  6675 15857  1146 11118 13967\n",
      "  6727 17305 14526  2983  6059  9341 15218  2216 13579   323  3948 17305\n",
      " 14526 17180  1531 12758  2216 14043  1531 17305 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306]\n",
      "Sentence (stem):  i enjoy this book for the most <unk> i feel the trip throught the stargat could have been better develop but it was enjoy to see an insid view of the work of the <unk> the main charact were all <unk> particip in the problem <unk> <unk> there was a writer view of the teamwork seen in each <unk> and some food for thought ad in as <unk> is the world realli readi for the idea that we are part of a bigger univers out <unk> i don't know but this book present some interest <unk> i await the next book in the <unk> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad>\n",
      "Shape:  (150,)\n",
      "Label:  Positive\n",
      "=============test_dataset =============\n",
      "Sentence list:  [15218  3300  1146  3692 11365  8848 15857   554  1040 17305 17228 15857\n",
      "  1146 14705 16177 17305 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306 17306\n",
      " 17306 17306 17306 17306 17306 17306]\n",
      "Sentence (stem):  this is a hastili compil collect of lectur note <unk> summari of a ph.d. student <unk> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad>\n",
      "Shape:  (150,)\n",
      "Label:  Negative\n"
     ]
    }
   ],
   "source": [
    "def ids_to_str(ids):\r\n",
    "    words = []\r\n",
    "    for k in ids:\r\n",
    "        w = list(vocab.keys())[list(vocab.values()).index(int(k))]\r\n",
    "        words.append(w if isinstance(w, str) else w.decode('ASCII'))\r\n",
    "    return \" \".join(words)\r\n",
    "\r\n",
    "dict_sent = {1: 'Positive', 0: 'Negative'}\r\n",
    "\r\n",
    "print('=============train_dataset =============') \r\n",
    "for data, label in train_dataset:\r\n",
    "    print('Sentence list: ', data)\r\n",
    "    print('Sentence (stem): ', ids_to_str(data))\r\n",
    "    print('Shape: ', np.array(data).shape)\r\n",
    "    print('Label: ', dict_sent[np.where(label==np.max(label))[0].item()])\r\n",
    "    break\r\n",
    "\r\n",
    "\r\n",
    "print('=============test_dataset =============') \r\n",
    "for data, label in test_dataset:\r\n",
    "    print('Sentence list: ', data)\r\n",
    "    print('Sentence (stem): ', ids_to_str(data))\r\n",
    "    print('Shape: ', np.array(data).shape)\r\n",
    "    print('Label: ', dict_sent[np.where(label==np.max(label))[0].item()])\r\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 3. Model\n",
    "\n",
    "本项目选择使用卷积神经网络来处理我们的文本数据。\n",
    "\n",
    "## 3.1 Configuration\n",
    "\n",
    "- 导入包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from paddle import nn, optimizer, metric\r\n",
    "import paddle.nn.functional as F"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "\n",
    "- 定义超参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "export_path = 'Senti_dataset/'\r\n",
    "all_data_path = export_path + 'all.csv'\r\n",
    "# 把生成的数据列表都放在自己的总类别文件夹中\r\n",
    "train_path = export_path + 'train_list.txt'\r\n",
    "test_path = export_path + 'eval_list.txt'\r\n",
    "dict_path = export_path + 'word2idx.txt'\r\n",
    "\r\n",
    "EMBEDDING_DIM = 128\r\n",
    "N_FILTER = 100\r\n",
    "FILTER_SIZE = 3\r\n",
    "CLASS_DIM = 2\r\n",
    "NUM_CHANNELS = 1\r\n",
    "BATCH_SIZE = 32\r\n",
    "SEQ_LEN = 150\r\n",
    "LEARNING_RATE = 0.002"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 定义模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "class CNN(nn.Layer):\r\n",
    "    def __init__(self, vocab, embedding_dim, n_filter, class_dim, \r\n",
    "                filter_size, num_channels, batch_size, seq_len):\r\n",
    "        super(CNN, self).__init__()\r\n",
    "        self.vocab_size = len(vocab)\r\n",
    "        self.padding_idx = vocab['<unk>']\r\n",
    "        self.embedding_dim = embedding_dim\r\n",
    "        self.n_filter = n_filter\r\n",
    "        self.class_dim = class_dim\r\n",
    "        self.num_channels = num_channels\r\n",
    "        self.filter_size = filter_size\r\n",
    "        self.batch_size = batch_size\r\n",
    "        self.seq_len = seq_len\r\n",
    "\r\n",
    "        self.embedding = nn.Embedding(self.vocab_size, self.embedding_dim, \r\n",
    "                        sparse=False, padding_idx = self.padding_idx)\r\n",
    "        self.conv = nn.Conv2D(in_channels=1,                        #通道数\r\n",
    "                        out_channels=self.n_filter,                 #卷积核个数\r\n",
    "                        kernel_size= [self.filter_size, self.embedding_dim],  #卷积核大小\r\n",
    "                        padding=[1, 1]\r\n",
    "                        )      \r\n",
    "        self.relu = nn.ReLU()\r\n",
    "        self.maxpool = nn.MaxPool2D(kernel_size = 2, stride = 2)\r\n",
    "        self.fc = nn.Linear(int(self.n_filter*self.seq_len/2), 2)\r\n",
    "\r\n",
    "    def forward(self, text):\r\n",
    "        \r\n",
    "        #print('输入维度：', input.shape)\r\n",
    "        x = self.embedding(text)\r\n",
    "        x_shape = [self.batch_size, self.num_channels, self.seq_len, self.embedding_dim]\r\n",
    "        x = paddle.reshape(x, x_shape)   # [32, 1, 150, 128]\r\n",
    "        x = self.relu(self.conv(x))\r\n",
    "        #print('第一层卷积输出维度：', x.shape)\r\n",
    "        x = self.maxpool(x)\r\n",
    "        #print('池化后输出维度：', x.shape)\r\n",
    "        #在输入全连接层时，需将特征图拉平会自动将数据拉平.\r\n",
    "\r\n",
    "        x = paddle.reshape(x, shape=[self.batch_size, -1])\r\n",
    "        out = self.fc(x)\r\n",
    "        return out                 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "vocab = load_vocab(dict_path)\r\n",
    "model = CNN(vocab, EMBEDDING_DIM, N_FILTER, CLASS_DIM, FILTER_SIZE, NUM_CHANNELS, BATCH_SIZE, SEQ_LEN)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "- 计算参数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2215296"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.parameters()[0].numel().item()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The model has 2,268,798 trainable parameters\n"
     ]
    }
   ],
   "source": [
    "def count_parameters(model):\r\n",
    "    return sum(p.numel() for p in model.parameters() if p.stop_gradient==False).item()\r\n",
    "\r\n",
    "print(f'The model has {count_parameters(model):,} trainable parameters')\r\n",
    "# print(f'The model has {} trainable parameters'.format(count_parameters(model)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.2 Model training"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2, 5]"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictions.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Tensor(shape=[1], dtype=float32, place=CPUPlace, stop_gradient=True,\n",
       "       [0.50000000])"
      ]
     },
     "execution_count": null,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "predictions = paddle.to_tensor([[0.2, 0.1, 0.4, 0.1, 0.1], [0.2, 0.3, 0.1, 0.15, 0.25]], dtype='float32')\r\n",
    "label = paddle.to_tensor([[2], [0]], dtype=\"int64\")\r\n",
    "result = paddle.metric.accuracy(input=predictions, label=label, k=1)\r\n",
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "epoch: 0, batch_id: 0, loss is: [0.69147956]\n",
      "epoch: 0, batch_id: 50, loss is: [0.74618393]\n",
      "epoch: 0, batch_id: 100, loss is: [0.7883642]\n",
      "[validation] accuracy: 0.6684027910232544, loss: 0.5995304584503174\n",
      "epoch: 1, batch_id: 0, loss is: [0.33007044]\n",
      "epoch: 1, batch_id: 50, loss is: [0.34302858]\n",
      "epoch: 1, batch_id: 100, loss is: [0.30803037]\n",
      "[validation] accuracy: 0.7118055820465088, loss: 0.5608886480331421\n",
      "epoch: 2, batch_id: 0, loss is: [0.08655567]\n",
      "epoch: 2, batch_id: 50, loss is: [0.08403747]\n",
      "epoch: 2, batch_id: 100, loss is: [0.05325777]\n",
      "[validation] accuracy: 0.6805555820465088, loss: 0.7883006930351257\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\r\n",
    "\r\n",
    "def draw_process(title,color,iters,data,label):\r\n",
    "    plt.title(title, fontsize=24)\r\n",
    "    plt.xlabel(\"iter\", fontsize=20)\r\n",
    "    plt.ylabel(label, fontsize=20)\r\n",
    "    plt.plot(iters, data,color=color,label=label) \r\n",
    "    plt.legend()\r\n",
    "    plt.grid()\r\n",
    "    plt.show()\r\n",
    "\r\n",
    "def train(model, model_save_path):\r\n",
    "    model.train()\r\n",
    "    opt = optimizer.Adam(learning_rate=LEARNING_RATE, parameters=model.parameters())\r\n",
    "    steps = 0\r\n",
    "    Iters, total_loss, total_acc = [], [], []\r\n",
    "    for epoch in range(3):\r\n",
    "        for batch_id, data in enumerate(train_loader):\r\n",
    "            steps += 1\r\n",
    "            sent = data[0]\r\n",
    "            label = data[1].astype('float32')\r\n",
    "            logits = model(sent)\r\n",
    "            loss = F.cross_entropy(logits, label, soft_label = True)\r\n",
    "\r\n",
    "            real = paddle.argmax(label, axis = 1).unsqueeze(axis = 1)\r\n",
    "            acc = metric.accuracy(logits, real)\r\n",
    "            if batch_id % 50 == 0:\r\n",
    "                Iters.append(steps)\r\n",
    "                total_loss.append(loss.numpy()[0])\r\n",
    "                total_acc.append(acc.numpy()[0])\r\n",
    "                print(\"epoch: {}, batch_id: {}, loss is: {}\".format(epoch, batch_id, loss.numpy()))\r\n",
    "            \r\n",
    "            loss.backward()\r\n",
    "            opt.step()\r\n",
    "            opt.clear_grad()\r\n",
    "\r\n",
    "        # evaluate model after one epoch\r\n",
    "        model.eval()\r\n",
    "        accuracies = []\r\n",
    "        losses = []\r\n",
    "        for batch_id, data in enumerate(test_loader):\r\n",
    "            sent = data[0]\r\n",
    "            label = data[1].astype('float32')\r\n",
    "            logits = model(sent)\r\n",
    "            loss = F.cross_entropy(logits, label, soft_label = True)\r\n",
    "            \r\n",
    "            real = paddle.argmax(label, axis = 1).unsqueeze(axis = 1)\r\n",
    "            acc = metric.accuracy(logits, real)\r\n",
    "            accuracies.append(acc.numpy())\r\n",
    "            losses.append(loss.numpy())\r\n",
    "        \r\n",
    "        avg_acc, avg_loss = np.mean(accuracies), np.mean(losses)\r\n",
    "        print(\"[validation] accuracy: {}, loss: {}\".format(avg_acc, avg_loss))\r\n",
    "        model.train()\r\n",
    "\r\n",
    "    paddle.save(model.state_dict(),model_save_path)\r\n",
    "    return Iters, total_loss, total_acc\r\n",
    "\r\n",
    "model_save_path = export_path + 'model_final.bin'       \r\n",
    "model = CNN(vocab, EMBEDDING_DIM, N_FILTER, CLASS_DIM, FILTER_SIZE, NUM_CHANNELS, BATCH_SIZE, SEQ_LEN)\r\n",
    "\r\n",
    "iters, total_loss, total_acc = train(model, model_save_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw_process(\"trainning loss\",\"red\",iters,total_loss,\"trainning loss\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "draw_process(\"trainning acc\",\"green\",iters,total_acc,\"trainning acc\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.3 Model evaluation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[validation] accuracy: 0.6822916865348816, loss: 0.7864543199539185\n"
     ]
    }
   ],
   "source": [
    "model_state_dict = paddle.load(model_save_path)\r\n",
    "model = CNN(vocab, EMBEDDING_DIM, N_FILTER, CLASS_DIM, FILTER_SIZE, NUM_CHANNELS, BATCH_SIZE, SEQ_LEN)\r\n",
    "\r\n",
    "model.set_state_dict(model_state_dict) \r\n",
    "model.eval()\r\n",
    "accuracies = []\r\n",
    "losses = []\r\n",
    "\r\n",
    "for batch_id, data in enumerate(test_loader):\r\n",
    "    \r\n",
    "    sent = data[0]\r\n",
    "    label = data[1].astype('float32')\r\n",
    "    logits = model(sent)\r\n",
    "    loss = F.cross_entropy(logits, label, soft_label = True)\r\n",
    "    \r\n",
    "    real = paddle.argmax(label, axis = 1).unsqueeze(axis = 1)\r\n",
    "    acc = metric.accuracy(logits, real)\r\n",
    "    \r\n",
    "    accuracies.append(acc.numpy())\r\n",
    "    losses.append(loss.numpy())\r\n",
    "\r\n",
    "avg_acc, avg_loss = np.mean(accuracies), np.mean(losses)\r\n",
    "print(\"[validation] accuracy: {}, loss: {}\".format(avg_acc, avg_loss))\r\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.4 Prediction\n",
    "\n",
    "接下来用测试集的数据对训练好的模型进行预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据: multipl review of other washington biographi recommend this abridg over the book they were <unk> <unk> i am a <unk> as claim <unk> but i have not read ani washington <unk> i still thought the <unk> abov inform might be help to other <unk>                                                                                                           \n",
      "\n",
      "预测: Negative \n",
      "原始标签：Negative\n"
     ]
    }
   ],
   "source": [
    "dict_sent = {1: 'Positive', 0: 'Negative'}\r\n",
    "\r\n",
    "for batch_id, data in enumerate(test_loader):\r\n",
    "    \r\n",
    "    sent = data[0]\r\n",
    "    gt_labels = data[1].numpy()\r\n",
    "    results = model(sent)\r\n",
    "\r\n",
    "    predictions = []\r\n",
    "    for probs in results:\r\n",
    "        # 映射分类label\r\n",
    "        idx = np.argmax(probs)\r\n",
    "        labels = dict_sent[idx]\r\n",
    "        predictions.append(labels)\r\n",
    "    \r\n",
    "    for i,pre in enumerate(predictions):\r\n",
    "        print('数据: {} \\n\\n预测: {} \\n原始标签：{}'.format(ids_to_str(sent[0]).replace(\"<pad>\",\"\"), pre, dict_sent[gt_labels[0][0]]))\r\n",
    "        break\r\n",
    "    break"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "**Conclusion**：可以发现模型的预测效果还行，至此，基于 `CNN` 模型的情感分类模型已经完成，虽然此处仅使用了我们数据集中的 `books-review` 数据，但模型的整体框架是完整的，可以在此基础上加入其他数据集进行模型训练，考虑到时间，此处便不再加入其他数据来验证模型。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "py35-paddle1.2.0"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
